COBOL প্রোগ্রামিং ভাষায় Exception Handling অত্যন্ত গুরুত্বপূর্ণ একটি বিষয়, বিশেষত যখন প্রোগ্রামটি বাস্তব বিশ্বে ব্যবহৃত হয় এবং বিভিন্ন ত্রুটি (error) বা অস্বাভাবিক পরিস্থিতি (exception) ঘটতে পারে। COBOL এ ত্রুটির হ্যান্ডলিং বা exception handling প্রোগ্রামগুলির স্থিতিশীলতা এবং নির্ভরযোগ্যতা নিশ্চিত করতে সহায়ক।
COBOL এ ঐতিহ্যগতভাবে exception handling তেমন সরাসরি কোনও বিল্ট-ইন সাপোর্ট ছিল না, তবে COBOL 85 সংস্করণ থেকে কিছু ফিচার যেমন DECLARATIVE PROCEDURE এবং ON EXCEPTION ব্যবহৃত হতে শুরু হয়েছে, যা exception handling আরও সহজ এবং কার্যকরী করে তোলে।
COBOL এ exception handling দুটি মূল অংশে বিভক্ত:
COBOL 85 সংস্করণে EXCEPTION হ্যান্ডলিং ব্যবহারের মাধ্যমে আপনি একটি নির্দিষ্ট ত্রুটির জন্য কোড লিখতে পারেন, যা প্রোগ্রাম চলাকালে নির্দিষ্ট অবস্থায় ত্রুটি সনাক্ত করতে এবং প্রতিকার করতে সক্ষম।
COBOL প্রোগ্রামে DECLARATIVES বিভাগ ব্যবহার করে আপনি একাধিক প্রক্রিয়ার জন্য exception handling কোড লিখতে পারেন। যখন নির্দিষ্ট ত্রুটি ঘটে, তখন আপনি সেই ত্রুটির জন্য নির্দিষ্ট হ্যান্ডলিং কোড কার্যকর করতে পারবেন।
DECLARATIVES SECTION.
EXCEPTION SECTION.
WHEN ERROR-CONDITION
PERFORM HANDLE-ERROR.
END DECLARATIVES.
PROCEDURE DIVISION.
[Main program logic here]
এখানে EXCEPTION SECTION ব্যবহার করা হয়েছে, যাতে আপনি নির্দিষ্ট ত্রুটির জন্য একটি নির্দিষ্ট প্রক্রিয়া বা সাবরুটিন PERFORM HANDLE-ERROR চালাতে পারেন।
ON EXCEPTION স্টেটমেন্ট COBOL 85 সংস্করণের একটি নতুন বৈশিষ্ট্য, যা একটি এক্সপ্লিসিট exception handling মেকানিজম প্রদান করে। এটি একটি বিশেষ condition বা error এর জন্য নির্দিষ্ট কোড বা প্রক্রিয়া সম্পাদন করতে ব্যবহৃত হয়।
ON EXCEPTION
PERFORM HANDLE-ERROR
ON EXCEPTION
DISPLAY 'An error occurred during file processing'
PERFORM HANDLE-ERROR
END-EXCEPTION.
এখানে, যখন EXCEPTION ঘটে, তখন HANDLE-ERROR সাবরুটিনটি কার্যকর হবে এবং ব্যবহারকারীকে ত্রুটির মেসেজ প্রদর্শন করা হবে।
ফাইল অপারেশনের ক্ষেত্রে ত্রুটি (error) খুবই সাধারণ। OPEN, READ, WRITE, এবং CLOSE স্টেটমেন্টগুলো যখন অপ্রত্যাশিত অবস্থায় চলে, তখন ত্রুটি সৃষ্টি হয়। COBOL এ এই ত্রুটিগুলোর জন্য ON EXCEPTION বা DECLARATIVES এর মাধ্যমে হ্যান্ডলিং করা হয়।
OPEN INPUT CUSTOMER-FILE
ON EXCEPTION
DISPLAY 'Error opening file'
PERFORM HANDLE-FILE-ERROR
END-EXCEPTION.
এখানে, যদি CUSTOMER-FILE ফাইলটি ওপেন করতে সমস্যা হয়, তবে একটি ত্রুটি মেসেজ প্রদর্শিত হবে এবং HANDLE-FILE-ERROR সাবরুটিন চালানো হবে।
COBOL এ গণনার সময় ত্রুটি (যেমন, শূন্য দ্বারা ভাগ করা) ঘটলে ARITHMETIC EXCEPTION হ্যান্ডলিং করা হয়। এটি সহজে ON EXCEPTION স্টেটমেন্টের মাধ্যমে পরিচালনা করা যায়।
DIVIDE TOTAL AMOUNT BY QUANTITY GIVING AVERAGE
ON EXCEPTION
DISPLAY 'Arithmetic error occurred'
PERFORM HANDLE-ARITHMETIC-ERROR
END-EXCEPTION.
এখানে, DIVIDE অপারেশনটি AMOUNT কে QUANTITY দ্বারা ভাগ করার সময় যদি কোনো ত্রুটি ঘটে (যেমন শূন্য দিয়ে ভাগ করা), তবে HANDLE-ARITHMETIC-ERROR সাবরুটিনটি কার্যকর হবে।
COBOL এ ব্যবহারকারী নিজেই exception নির্ধারণ করে একটি কাস্টম ত্রুটি তৈরি করতে পারে, যেমন ডেটা ভ্যালিডেশন ত্রুটি বা অন্য কোন বিশেষ শর্তে ত্রুটি।
IF CUSTOMER-AGE < 18
ON EXCEPTION
DISPLAY 'Customer is not eligible'
PERFORM HANDLE-AGE-ERROR
END-EXCEPTION.
এখানে, যদি গ্রাহকের বয়স ১৮ বছরের কম হয়, তবে কাস্টম ত্রুটি তৈরি হবে এবং HANDLE-AGE-ERROR সাবরুটিন কার্যকর হবে।
EXCEPTION SECTION এবং PROCEDURE DIVISION দুটি একত্রে ব্যবহার করলে আপনাকে প্রোগ্রামের প্রধান লজিক থেকে exception handling আলাদা করে রাখা সহজ হয়, যা প্রোগ্রামের রিডেবিলিটি এবং মেইনটেনেন্সে সহায়ক।
DECLARATIVES SECTION.
EXCEPTION SECTION.
WHEN FILE-ERROR
DISPLAY 'Error reading file'
PERFORM HANDLE-FILE-ERROR
END DECLARATIVES.
PROCEDURE DIVISION.
OPEN INPUT CUSTOMER-FILE
READ CUSTOMER-FILE INTO CUSTOMER-RECORD
AT END
DISPLAY 'End of file reached'
NOT AT END
DISPLAY 'Processing Customer Data'
এখানে EXCEPTION SECTION এর মাধ্যমে FILE-ERROR এর জন্য হ্যান্ডলিং করা হয়েছে, যাতে মূল প্রোগ্রাম কোড থেকে exception handling আলাদা রাখা যায়।
COBOL প্রোগ্রামে exception handling খুবই গুরুত্বপূর্ণ, বিশেষত যখন আপনাকে বিভিন্ন অপারেশনের মধ্যে ত্রুটি হ্যান্ডেল করতে হয়। ON EXCEPTION এবং DECLARATIVES এর মাধ্যমে আপনি ত্রুটি সনাক্ত করতে এবং সেই অনুযায়ী কোড বা প্রক্রিয়া পরিচালনা করতে পারেন। Arithmetic errors, File operations errors, এবং User-defined exceptions COBOL প্রোগ্রামে কার্যকরভাবে হ্যান্ডল করা যেতে পারে। এসব কৌশল ব্যবহার করে আপনার COBOL প্রোগ্রামের স্থিতিশীলতা এবং নির্ভরযোগ্যতা বাড়ানো সম্ভব হয়।
Exception Handling হল এমন একটি প্রক্রিয়া যা প্রোগ্রামের চলাকালীন সময়ে সংঘটিত অপ্রত্যাশিত ঘটনাগুলিকে মোকাবেলা করার জন্য ব্যবহৃত হয়। প্রোগ্রামিং ভাষায় Exception এমন একটি ঘটনা বা পরিস্থিতি যা সাধারণ প্রোগ্রাম ফ্লো থেকে বিচ্যুতি ঘটায় এবং কার্যকরী প্রক্রিয়াকে বিরত করে। সাধারণত, এই ধরনের ঘটনাগুলি তখন ঘটে যখন প্রোগ্রামটি কোনো ভুল বা অনিচ্ছিত পরিস্থিতির সম্মুখীন হয়, যেমন শূন্য দিয়ে ভাগ করা, ফাইল না পাওয়া, নেটওয়ার্ক সংযোগ সমস্যা ইত্যাদি।
Exception Handling এর মাধ্যমে এই ধরনের সমস্যা বা ত্রুটির সম্মুখীন হলে প্রোগ্রামটি নিরাপদভাবে এবং কার্যকরীভাবে চলতে থাকে, ত্রুটির কারণ চিহ্নিত করে এবং প্রয়োজনে একটি পরিবর্তিত কার্যপদ্ধতি গ্রহণ করে।
একটি প্রোগ্রাম যখন একটি অপ্রত্যাশিত সমস্যা (যেমন ডিভাইস অ্যাক্সেস না পাওয়া, শূন্য দ্বারা ভাগ করা, অস্বীকৃত ইনপুট ইত্যাদি) সম্মুখীন হয়, তখন এটি একটি exception ছুঁড়ে ফেলে। Exception Handling হলো এই exception গুলি ধরার এবং সেগুলি সঠিকভাবে পরিচালনা করার প্রক্রিয়া। এর মূল উদ্দেশ্য হল প্রোগ্রামের ক্র্যাশ বা অপ্রত্যাশিত আচরণ এড়ানো এবং প্রোগ্রামকে সেই পরিস্থিতিতে পুনরুদ্ধার করা।
Exception Handling সাধারণত তিনটি প্রধান অংশে বিভক্ত:
COBOL তে exception handling সরাসরি অন্তর্ভুক্ত নয়, তবে COBOL প্রোগ্রামে কিছু কাঠামোগত পদ্ধতিতে ত্রুটি মোকাবেলা করা সম্ভব। COBOL এ exception handling এর জন্য Condition Handling বা File Status Codes ব্যবহার করা হয়।
COBOL তে exception handling এর জন্য ON ERROR এবং NOT ON ERROR কন্ডিশন ব্যবহার করা হয়। সাধারণত ফাইল বা ডেটাবেস অ্যাক্সেস করার সময় ত্রুটি হলে, এটি FILE STATUS কোডে ফিরে আসে, এবং প্রোগ্রাম সেই কোড ব্যবহার করে ত্রুটিটি শনাক্ত করে এবং পরিচালনা করে।
উদাহরণ:
OPEN INPUT CUSTOMER-FILE
IF CUSTOMER-FILE-STATUS NOT = "00"
DISPLAY "Error opening file"
STOP RUN
END-IF
এখানে, CUSTOMER-FILE-STATUS যদি "00" না হয়, তবে ত্রুটি ঘটবে এবং "Error opening file" বার্তা প্রদর্শিত হবে।
ফাইল সংক্রান্ত ত্রুটির জন্য FILE STATUS কোড ব্যবহৃত হয় যা ফাইল অ্যাক্সেসের সময় ত্রুটি বা সফলতা সনাক্ত করতে ব্যবহৃত হয়।
উদাহরণ:
01 FILE-STATUS PIC 99.
OPEN INPUT CUSTOMER-FILE
IF FILE-STATUS NOT = 00
DISPLAY "File Open Error"
END-IF
এখানে, FILE-STATUS যদি 00 না হয়, তবে ফাইল খোলার সময় কোনো সমস্যা হয়েছে বলে ধরে নেওয়া হয়।
Exception Handling প্রোগ্রামিং এর একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা প্রোগ্রামের ত্রুটির মোকাবেলা করতে সহায়তা করে। এটি প্রোগ্রামের স্থিতিশীলতা, নিরাপত্তা এবং ব্যবহারের অভিজ্ঞতা বৃদ্ধি করে। COBOL এ exception handling সরাসরি অন্তর্ভুক্ত নয়, তবে condition handling এবং file status codes ব্যবহারের মাধ্যমে এর কার্যকারিতা বজায় রাখা যায়। File status handling বা condition checking প্রোগ্রামে ত্রুটি শনাক্ত করে এবং প্রোগ্রামটি নিরাপদ ও স্থিতিশীল রাখে।
ON SIZE ERROR
হল COBOL-এ একটি বিশেষ কন্ডিশনাল স্টেটমেন্ট, যা তখন ব্যবহৃত হয় যখন একটি পরিমাণ বা সংখ্যা একটি নির্দিষ্ট সীমার বাইরে চলে যায়। এটি সাধারণত COMPUTE
, ADD
, SUBTRACT
, বা MULTIPLY
স্টেটমেন্টের ক্ষেত্রে ব্যবহার করা হয় যেখানে কোন মানকে নির্ধারিত মাপের মধ্যে রাখতে হবে। যখন কোন সংখ্যার ফলাফল সেই মাপের সীমার বাইরে চলে যায়, তখন ON SIZE ERROR
শর্তটি কার্যকর হয় এবং নির্দিষ্ট ত্রুটি বা পূর্বনির্ধারিত মান প্রদান করে।
এই স্টেটমেন্টটি বিশেষ করে কোডের মধ্যে গাণিতিক বা পরিমাণগত সীমা নির্ধারণ করতে এবং ত্রুটির বিরুদ্ধে সুরক্ষা প্রদান করতে ব্যবহৃত হয়।
COBOL-এ ON SIZE ERROR
স্টেটমেন্টটি COMPUTE
, ADD
, SUBTRACT
, MULTIPLY
, বা অন্য যে কোন অপারেশনে ব্যবহৃত হতে পারে যেগুলোর মাধ্যমে গণনা করা হয় এবং সংখ্যার সীমা পার হওয়ার সম্ভাবনা থাকে। যখন সীমা পার হয়ে যায়, তখন ON SIZE ERROR
কার্যকর হয়ে যায় এবং ত্রুটির একটি বার্তা বা একটি নির্দিষ্ট মান প্রদর্শন করে।
ON SIZE ERROR
[statements to handle the error]
ON SIZE ERROR
: এটি নির্দেশ দেয় যে, যদি গাণিতিক অপারেশনটি সীমার বাইরে চলে যায়, তবে এই শর্তটি কার্যকর হবে।WORKING-STORAGE SECTION.
01 TOTAL PIC 9(5) VALUE 0.
01 AMOUNT PIC 9(3) VALUE 500.
01 SIZE-LIMIT PIC 9(5) VALUE 99999.
PROCEDURE DIVISION.
ADD AMOUNT TO TOTAL
ON SIZE ERROR
DISPLAY "Size Error: Total exceeded the limit."
MOVE SIZE-LIMIT TO TOTAL
DISPLAY "Total Amount: " TOTAL.
STOP RUN.
ব্যাখ্যা:
TOTAL
ভেরিয়েবলে ৫ ডিজিটের মান রয়েছে এবং AMOUNT
৩ ডিজিটের একটি মান রয়েছে।ADD AMOUNT TO TOTAL
অপারেশনটি যখন মোট মান যোগ করবে, তখন যদি TOTAL
এর মান 99999
এর বেশি হয়ে যায়, তখন ON SIZE ERROR
কার্যকর হবে এবং এটি "Size Error: Total exceeded the limit." বার্তা প্রদর্শন করবে। এরপর TOTAL
এর মান 99999
তে সেট করা হবে।WORKING-STORAGE SECTION.
01 QUANTITY PIC 9(3) VALUE 100.
01 UNIT-PRICE PIC 9(5)V99 VALUE 99.99.
01 TOTAL-PRICE PIC 9(7)V99.
PROCEDURE DIVISION.
COMPUTE TOTAL-PRICE = QUANTITY * UNIT-PRICE
ON SIZE ERROR
DISPLAY "Size Error: Total Price exceeded the limit."
MOVE 9999999 TO TOTAL-PRICE
DISPLAY "Total Price: " TOTAL-PRICE.
STOP RUN.
ব্যাখ্যা:
TOTAL-PRICE
গাণিতিকভাবে QUANTITY
এবং UNIT-PRICE
এর গুণফল হিসাব করছে।TOTAL-PRICE
এর ৭ ডিজিটের সীমা (অর্থাৎ 9999999
) অতিক্রম করে, তবে ON SIZE ERROR
কার্যকর হবে এবং একটি ত্রুটি বার্তা প্রদর্শিত হবে। এরপর, TOTAL-PRICE
এর মান 9999999
তে সেট করা হবে।WORKING-STORAGE SECTION.
01 BALANCE PIC 9(5) VALUE 50000.
01 WITHDRAWAL PIC 9(3) VALUE 2000.
01 MAX-BALANCE PIC 9(5) VALUE 99999.
PROCEDURE DIVISION.
SUBTRACT WITHDRAWAL FROM BALANCE
ON SIZE ERROR
DISPLAY "Size Error: Balance exceeded the limit."
MOVE MAX-BALANCE TO BALANCE
DISPLAY "Remaining Balance: " BALANCE.
STOP RUN.
ব্যাখ্যা:
BALANCE
থেকে WITHDRAWAL
এর পরিমাণ কমানো হচ্ছে। যদি এর ফলে BALANCE
এর মান 99999
এর বেশি হয়, তবে ON SIZE ERROR
কার্যকর হবে এবং একটি ত্রুটি বার্তা প্রদর্শিত হবে।MAX-BALANCE
এর মান 99999
তে সেট করা হবে এবং সিস্টেম কন্টিনিউ হবে।ON SIZE ERROR
এই ধরনের ত্রুটির জন্য সুরক্ষা প্রদান করে।স্টেটমেন্ট | বর্ণনা |
---|---|
ON SIZE ERROR | গাণিতিক অপারেশন দ্বারা নির্ধারিত সীমা অতিক্রম করলে এটি কার্যকর হয়। |
ব্যবহার | COMPUTE , ADD , SUBTRACT , MULTIPLY ইত্যাদি অপারেশনে। |
প্রয়োজনীয়তা | ত্রুটির প্রতিরোধ, সিস্টেম স্থিতিশীলতা, ইউজার এক্সপেরিয়েন্স উন্নতকরণ। |
ON SIZE ERROR স্টেটমেন্টটি COBOL প্রোগ্রামে গাণিতিক অপারেশনে নির্দিষ্ট সীমার বাইরে ফলাফল যাওয়ার সম্ভাবনা থাকলে ত্রুটির মোকাবিলা করতে সাহায্য করে। এটি কোডে স্থিতিশীলতা এবং নির্ভরযোগ্যতা বাড়ানোর জন্য অত্যন্ত গুরুত্বপূর্ণ।
Declaratives সেকশন COBOL প্রোগ্রামে একটি বিশেষ বিভাগ, যা সাধারণত exception handling বা error processing এর জন্য ব্যবহৃত হয়। Declaratives সেকশন কোডের যে কোনো অংশে ENTRY এবং USE স্টেটমেন্ট দ্বারা নির্দিষ্ট পরিস্থিতিতে কার্যকর করা হয়। এটি মূলত প্রোগ্রাম চলাকালীন বিভিন্ন প্রক্রিয়ার মধ্যে অপ্রত্যাশিত পরিস্থিতি বা ত্রুটি মোকাবিলা করার জন্য ব্যবহৃত হয়।
Declaratives সেকশন প্রোগ্রামের PROCEDURE DIVISION এর উপরের দিকে স্থাপন করা হয় এবং এখানে একাধিক EXCEPTION বা ERROR হ্যান্ডলিং মেকানিজম সংজ্ঞায়িত করা হয়। যখন একটি বিশেষ পরিস্থিতি বা ত্রুটি ঘটবে, তখন এটি কন্ট্রোল নিয়ে Declaratives সেকশনকে ট্রিগার করবে এবং ত্রুটির জন্য নির্ধারিত পদক্ষেপ গ্রহণ করবে।
Declaratives সেকশন শুরু হয় DECLARATIVES কীওয়ার্ড দিয়ে এবং শেষ হয় END DECLARATIVES দিয়ে। এতে সাধারণত USE PROCEDURE বা ENTRY স্টেটমেন্টের মাধ্যমে নির্দিষ্ট প্রক্রিয়া, ত্রুটি বা অপ্রত্যাশিত পরিস্থিতির জন্য কোড সন্নিবেশ করা হয়।
DATA DIVISION.
DECLARATIVES.
PROCEDURE DIVISION.
ENTRY 'HANDLE-ERROR' USING ERROR-VALUE.
DISPLAY 'Error: ' ERROR-VALUE.
STOP RUN.
END DECLARATIVES.
COBOL-এ Declaratives সেকশন ব্যবহার করে আপনি exception handling বা ত্রুটি গ্রহণ করার জন্য একটি পদ্ধতি তৈরি করতে পারেন। এই সেকশনটি প্রোগ্রাম চলাকালীন ত্রুটি ঘটলে সেই ত্রুটির জন্য নির্দিষ্ট পদক্ষেপ নেয়।
DATA DIVISION.
DECLARATIVES.
PROCEDURE DIVISION.
ENTRY 'HANDLE-ERROR' USING ERROR-VALUE.
DISPLAY 'Error: ' ERROR-VALUE.
STOP RUN.
END DECLARATIVES.
PROCEDURE DIVISION.
OPEN INPUT EMPLOYEE-FILE
AT END
CALL 'HANDLE-ERROR' USING 'File Not Found'
NOT AT END
DISPLAY 'File Opened Successfully'
CLOSE EMPLOYEE-FILE.
এখানে, যখন EMPLOYEE-FILE ফাইলটি খোলার সময় কোনো ত্রুটি ঘটে (যেমন ফাইল না পাওয়া), তখন ENTRY 'HANDLE-ERROR' কার্যকর হবে এবং সেই ত্রুটির সঙ্কেত হিসাবে 'File Not Found' প্রদর্শন করা হবে।
Declaratives সেকশনটি মূলত exception handling, error detection, এবং automatic error processing এর জন্য ব্যবহৃত হয়। যখন কোডের মধ্যে কোনো অপ্রত্যাশিত ঘটনা ঘটে (যেমন, ফাইল না পাওয়া, ডিভাইসের ত্রুটি ইত্যাদি), তখন Declaratives সেকশন কন্ট্রোল গ্রহণ করে এবং নির্ধারিত পদক্ষেপ নিয়ে সেই ত্রুটির মোকাবিলা করে।
DATA DIVISION.
DECLARATIVES.
PROCEDURE DIVISION.
ENTRY 'FILE-NOT-FOUND' USING ERROR-VALUE.
DISPLAY 'Error: ' ERROR-VALUE.
STOP RUN.
END DECLARATIVES.
PROCEDURE DIVISION.
OPEN INPUT EMPLOYEE-FILE
AT END
CALL 'FILE-NOT-FOUND' USING 'Employee file not found'
NOT AT END
DISPLAY 'Employee file opened successfully'
CLOSE EMPLOYEE-FILE.
এখানে, যখন EMPLOYEE-FILE ফাইলটি খোলার সময় কোনো ত্রুটি ঘটে (যেমন ফাইল না পাওয়া), তখন ENTRY 'FILE-NOT-FOUND' কল হবে এবং ত্রুটির বার্তা হিসেবে 'Employee file not found' দেখাবে।
DATA DIVISION.
DECLARATIVES.
PROCEDURE DIVISION.
ENTRY 'INVALID-DATA' USING ERROR-VALUE.
DISPLAY 'Invalid Data: ' ERROR-VALUE.
STOP RUN.
END DECLARATIVES.
PROCEDURE DIVISION.
MOVE 'Invalid' TO DATA-VALUE
IF DATA-VALUE = 'Invalid'
CALL 'INVALID-DATA' USING 'Data is invalid'
ELSE
DISPLAY 'Data is valid'
এখানে, যখন DATA-VALUE 'Invalid' হয়, তখন INVALID-DATA হ্যান্ডলিং প্রক্রিয়া শুরু হবে এবং 'Data is invalid' দেখাবে।
COBOL-এ Declaratives সেকশন ব্যবহার করে আপনি exception handling বা ত্রুটির হ্যান্ডলিং প্রক্রিয়া প্রোগ্রামের শুরুতেই ডিফাইন করতে পারেন। এটি ত্রুটি প্রক্রিয়া এবং অপ্রত্যাশিত পরিস্থিতি মোকাবিলা করার জন্য একটি শক্তিশালী উপায়। Declaratives সেকশন কোডকে আরও স্ট্রাকচারড এবং কার্যকরী করে তোলে, যেখানে ত্রুটির জন্য নির্দিষ্ট পদক্ষেপ নেওয়া হয়।
Error Logging এবং Exception Management হল প্রোগ্রামিংয়ের দুইটি গুরুত্বপূর্ণ প্রক্রিয়া যা সিস্টেমের কার্যকারিতা এবং স্থিতিশীলতা বজায় রাখতে সাহায্য করে। যখন প্রোগ্রামে ত্রুটি (error) বা ব্যতিক্রম (exception) ঘটে, তখন সেগুলিকে সঠিকভাবে লগ করা এবং পরিচালনা করা খুবই গুরুত্বপূর্ণ, যাতে পরে সমস্যা চিহ্নিত এবং সমাধান করা যায়। এখানে Error Logging এবং Exception Management এর কৌশল এবং ব্যবহার আলোচনা করা হচ্ছে, যা বিশেষভাবে COBOL এবং অন্যান্য প্রোগ্রামিং ভাষায় প্রযোজ্য।
Error Logging হল একটি প্রক্রিয়া যার মাধ্যমে প্রোগ্রামের ত্রুটি, সতর্কতা এবং অন্যান্য গুরুত্বপূর্ণ তথ্য একটি লগ ফাইলে লেখা হয়। এটি ত্রুটি বা সমস্যার উৎস সনাক্ত করতে এবং ভবিষ্যতে সমাধান করতে সহায়ক।
লগ ফাইল তৈরি করা:
প্রতিটি ত্রুটি বা সমস্যার জন্য একটি লগ ফাইল তৈরি করা। COBOL-এ একটি টেক্সট ফাইলে ত্রুটি লগ করার জন্য WRITE বা DISPLAY স্টেটমেন্ট ব্যবহার করা যেতে পারে।
উদাহরণ:
OPEN OUTPUT error-log-file
WRITE error-log-record FROM 'Error: Database connection failed at ' CURRENT-DATE
CLOSE error-log-file
01 ERROR-LOG-FILE FILE SECTION.
05 ERROR-LOG-RECORD PIC X(100).
OPEN OUTPUT ERROR-LOG-FILE
IF ERROR-LOG-FILE = INVALID KEY
DISPLAY 'Error opening log file'
STOP RUN
ELSE
WRITE ERROR-LOG-RECORD FROM 'Database connection failed at ' CURRENT-DATE
CLOSE ERROR-LOG-FILE
END-IF
এখানে, ERROR-LOG-FILE নামক একটি ফাইল তৈরি করা হচ্ছে এবং ত্রুটি বা সমস্যা হলে তা লগ ফাইলে লেখা হচ্ছে।
Exception Management হল একটি প্রক্রিয়া যার মাধ্যমে প্রোগ্রাম চলাকালীন সময় ত্রুটি বা ব্যতিক্রম ঘটলে সেই ত্রুটির মোকাবেলা করা হয়। এতে প্রোগ্রামের স্বাভাবিক কার্যক্রম বন্ধ না হয়ে, ত্রুটির কারণ এবং সমাধান করা সম্ভব হয়।
COBOL 2002 এর TRY-CATCH ব্লক:
COBOL 2002 এবং পরবর্তী সংস্করণে TRY এবং CATCH ব্লক ব্যবহার করে আপনি ত্রুটি পরিচালনা করতে পারেন। এটি একাধিক ত্রুটি ধরনের জন্য বিশেষ একশন গ্রহণ করতে সহায়ক।
উদাহরণ:
TRY
OPEN INPUT file-name
CATCH file-not-found
DISPLAY 'File not found.'
CATCH invalid-data
DISPLAY 'Invalid data encountered.'
END-TRY.
Error Code Checking:
কোডে ত্রুটি শিকার করতে, একটি নির্দিষ্ট error code চেক করা যেতে পারে এবং সেই কোড অনুযায়ী নির্দিষ্ট একশন নেওয়া যেতে পারে।
উদাহরণ:
IF error-code = 100
DISPLAY 'File not found'
ELSE IF error-code = 200
DISPLAY 'Invalid input data'
END-IF
IF file-status = '00'
DISPLAY 'File opened successfully.'
ELSE
DISPLAY 'Error: File opening failed with status: ' file-status
STOP RUN
END-IF
এখানে, যদি file-status '00' না হয়, তাহলে একটি ত্রুটি বার্তা দেখানো হবে এবং প্রোগ্রামটি থামানো হবে।
Error Logging এবং Exception Management প্রোগ্রামের স্থিতিশীলতা এবং কার্যকারিতা নিশ্চিত করতে অত্যন্ত গুরুত্বপূর্ণ। Error Logging সিস্টেমে ত্রুটি ট্র্যাক এবং ডিবাগিং সহজ করে, এবং Exception Management ত্রুটি ঘটলে সেগুলির সঠিক সমাধান এবং প্রোগ্রামের কার্যকারিতা বজায় রাখতে সাহায্য করে। COBOL প্রোগ্রামে DISPLAY, WRITE, TRY-CATCH, এবং Error Code Checking ব্যবহার করে এই কৌশলগুলি কার্যকরভাবে বাস্তবায়ন করা যায়।
common.read_more